The disclosed technology is related to security in computer systems.
A basic computer system comprises computer hardware, an operating system, and one or more application programs. The computer hardware includes a processor, a memory, and one or more system buses that facilitate communication among the various components. The operating system is an interface between applications and the hardware layer of the computer system. The operating system includes various routines that manage the physical components of the computer system and their use by applications.
Computer programs are known to have vulnerabilities to various kinds of attacks. Attacks can be instituted and delivered over network connections such as the Internet, but also may come directly from someone with immediate access to a computer system. Computer viruses, worms, and trojan horses are all examples of different forms of attack. Attacks are generally implemented by installing unauthorized or malicious code into the programs and causing execution of the foreign code. For example, exploits may be created to force an application to execute code after an exploit has been triggered. The code may be considered a payload which is often prepared in memory before being triggered by the exploit.